use std::collections::HashMap;

pub fn color_groups() -> HashMap<String, Vec<(String, String)>> {
    [
        (
            "Blue",
            vec![
                ("cadetblue", "#5f9ea0"),
                ("steelblue", "#4682b4"),
                ("lightsteelblue", "#b0c4de"),
                ("lightblue", "#add8e6"),
                ("powderblue", "#b0e0e6"),
                ("lightskyblue", "#87cefa"),
                ("skyblue", "#87ceeb"),
                ("cornflowerblue", "#6495ed"),
                ("deepskyblue", "#00bfff"),
                ("dodgerblue", "#1e90ff"),
                ("royalblue", "#4169e1"),
                ("blue", "#0000ff"),
                ("mediumblue", "#0000cd"),
                ("darkblue", "#00008b"),
                ("navy", "#000080"),
                ("midnightblue", "#191970"),
            ],
        ),
        (
            "Brown",
            vec![
                ("cornsilk", "#fff8dc"),
                ("blanchedalmond", "#ffebcd"),
                ("bisque", "#ffe4c4"),
                ("navajowhite", "#ffdead"),
                ("wheat", "#f5deb3"),
                ("burlywood", "#deb887"),
                ("tan", "#d2b48c"),
                ("rosybrown", "#bc8f8f"),
                ("sandybrown", "#f4a460"),
                ("goldenrod", "#daa520"),
                ("darkgoldenrod", "#b8860b"),
                ("peru", "#cd853f"),
                ("chocolate", "#d2691e"),
                ("olive", "#808000"),
                ("saddlebrown", "#8b4513"),
                ("sienna", "#a0522d"),
                ("brown", "#a52a2a"),
                ("maroon", "#800000"),
            ],
        ),
        (
            "Cyan",
            vec![
                ("aqua", "#00ffff"),
                ("cyan", "#00ffff"),
                ("lightcyan", "#e0ffff"),
                ("paleturquoise", "#afeeee"),
                ("aquamarine", "#7fffd4"),
                ("turquoise", "#40e0d0"),
                ("mediumturquoise", "#48d1cc"),
                ("darkturquoise", "#00ced1"),
            ],
        ),
        (
            "Green",
            vec![
                ("greenyellow", "#adff2f"),
                ("chartreuse", "#7fff00"),
                ("lawngreen", "#7cfc00"),
                ("lime", "#00ff00"),
                ("limegreen", "#32cd32"),
                ("palegreen", "#98fb98"),
                ("lightgreen", "#90ee90"),
                ("mediumspringgreen", "#00fa9a"),
                ("springgreen", "#00ff7f"),
                ("mediumseagreen", "#3cb371"),
                ("seagreen", "#2e8b57"),
                ("forestgreen", "#228b22"),
                ("green", "#008000"),
                ("darkgreen", "#006400"),
                ("yellowgreen", "#9acd32"),
                ("olivedrab", "#6b8e23"),
                ("darkolivegreen", "#556b2f"),
                ("mediumaquamarine", "#66cdaa"),
                ("darkseagreen", "#8fbc8f"),
                ("lightseagreen", "#20b2aa"),
                ("darkcyan", "#008b8b"),
                ("teal", "#008080"),
            ],
        ),
        (
            "Grey",
            vec![
                ("gainsboro", "#dcdcdc"),
                ("lightgray", "#d3d3d3"),
                ("silver", "#c0c0c0"),
                ("darkgray", "#a9a9a9"),
                ("dimgray", "#696969"),
                ("gray", "#808080"),
                ("lightslategray", "#778899"),
                ("slategray", "#708090"),
                ("darkslategray", "#2f4f4f"),
                ("black", "#000000"),
            ],
        ),
        (
            "Orange",
            vec![
                ("orange", "#ffa500"),
                ("darkorange", "#ff8c00"),
                ("coral", "#ff7f50"),
                ("tomato", "#ff6347"),
                ("orangered", "#ff4500"),
            ],
        ),
        (
            "Pink",
            vec![
                ("pink", "#ffc0cb"),
                ("lightpink", "#ffb6c1"),
                ("hotpink", "#ff69b4"),
                ("deeppink", "#ff1493"),
                ("palevioletred", "#db7093"),
                ("mediumvioletred", "#c71585"),
            ],
        ),
        (
            "Purple",
            vec![
                ("lavender", "#e6e6fa"),
                ("thistle", "#d8bfd8"),
                ("plum", "#dda0dd"),
                ("orchid", "#da70d6"),
                ("violet", "#ee82ee"),
                ("fuchsia", "#ff00ff"),
                ("magenta", "#ff00ff"),
                ("mediumorchid", "#ba55d3"),
                ("darkorchid", "#9932cc"),
                ("darkviolet", "#9400d3"),
                ("blueviolet", "#8a2be2"),
                ("darkmagenta", "#8b008b"),
                ("purple", "#800080"),
                ("mediumpurple", "#9370db"),
                ("mediumslateblue", "#7b68ee"),
                ("slateblue", "#6a5acd"),
                ("darkslateblue", "#483d8b"),
                ("rebeccapurple", "#663399"),
                ("indigo", "#4b0082"),
            ],
        ),
        (
            "Red",
            vec![
                ("lightsalmon", "#ffa07a"),
                ("salmon", "#fa8072"),
                ("darksalmon", "#e9967a"),
                ("lightcoral", "#f08080"),
                ("indianred", "#cd5c5c"),
                ("crimson", "#dc143c"),
                ("red", "#ff0000"),
                ("firebrick", "#b22222"),
                ("darkred", "#8b0000"),
            ],
        ),
        (
            "White",
            vec![
                ("white", "#ffffff"),
                ("snow", "#fffafa"),
                ("honeydew", "#f0fff0"),
                ("mintcream", "#f5fffa"),
                ("azure", "#f0ffff"),
                ("aliceblue", "#f0f8ff"),
                ("ghostwhite", "#f8f8ff"),
                ("whitesmoke", "#f5f5f5"),
                ("seashell", "#fff5ee"),
                ("beige", "#f5f5dc"),
                ("oldlace", "#fdf5e6"),
                ("floralwhite", "#fffaf0"),
                ("ivory", "#fffff0"),
                ("antiquewhite", "#faebd7"),
                ("linen", "#faf0e6"),
                ("lavenderblush", "#fff0f5"),
                ("mistyrose", "#ffe4e1"),
            ],
        ),
        (
            "Yellow",
            vec![
                ("gold", "#ffd700"),
                ("yellow", "#ffff00"),
                ("lightyellow", "#ffffe0"),
                ("lemonchiffon", "#fffacd"),
                ("lightgoldenrodyellow", "#fafad2"),
                ("papayawhip", "#ffefd5"),
                ("moccasin", "#ffe4b5"),
                ("peachpuff", "#ffdab9"),
                ("palegoldenrod", "#eee8aa"),
                ("khaki", "#f0e68c"),
                ("darkkhaki", "#bdb76b"),
            ],
        ),
    ]
    .iter()
    .map(|(name, colors)| {
        (
            name.to_string(),
            colors
                .iter()
                .map(|(color, hex)| (color.to_string(), hex.to_string()))
                .collect(),
        )
    })
    .collect()
}
